package dto;

import java.time.LocalDate;

public class PacienteDTO {

  private static final LocalDate noDate = LocalDate.parse("0001-01-01");

  private int id;
  private String nombre;
  private String apellido;
  private int dni;
  private LocalDate fechaNac;
  private int idObraSocial;
  private int idPlanObraSocial;
  private int nAfiliado;
  private String direccion;
  private String telLinea;
  private String celular;
  private String email;
  private String contactoNombre;
  private String contactoApellido;
  private String contactoTelefono;

  public PacienteDTO(int id, String nombre, String apellido, int dni, LocalDate fechaNac, int idObraSocial, int idPlanObraSocial, int nAfiliado, String direccion, String telLinea, String celular, String email, String contactoNombre, String contactoApellido, String contactoTelefono) {
    this.id = id;
    this.nombre = nombre;
    this.apellido = apellido;
    this.dni = dni;
    // Zero initialization
    if (fechaNac == null) {
      this.fechaNac = noDate;
    } else {
      this.fechaNac = fechaNac;
    }
    this.idObraSocial = idObraSocial;
    this.idPlanObraSocial = idPlanObraSocial;
    this.nAfiliado = nAfiliado;
    this.direccion = direccion;
    this.telLinea = telLinea;
    this.celular = celular;
    this.email = email;
    this.contactoNombre = contactoNombre;
    this.contactoApellido = contactoApellido;
    this.contactoTelefono = contactoTelefono;
  }

  public int getId() {
    return id;
  }

  // Warning: esto debería usarse con extremo cuidado.
  public void setId(int id) {
    this.id = id;
  }

  public String getNombre() {
    return nombre;
  }

  public String getApellido() {
    return apellido;
  }

  public int getDni() {
    return dni;
  }

  public LocalDate getFechaNac() {
    return fechaNac;
  }

  public int getIdObraSocial() {
    return idObraSocial;
  }

  public int getIdPlanObraSocial() {
    return idPlanObraSocial;
  }

  public int getNAfiliado() {
    return nAfiliado;
  }

  public String getDireccion() {
    return direccion;
  }

  public String getTelLinea() {
    return telLinea;
  }

  public String getCelular() {
    return celular;
  }

  public String getEmail() {
    return email;
  }

  public String getContactoNombre() {
    return contactoNombre;
  }

  public String getContactoApellido() {
    return contactoApellido;
  }

  public String getContactoTelefono() {
    return contactoTelefono;
  }

}
